• File: customer_maintain_get.php
  • Full Path: C:/htdocs/REEFTintegrationLog_test/REEFTintegrationLog/customer_maintain_get.php
  • Date Modified: 05/09/2025 5:34 AM
  • File size: 7.49 KB
  • MIME-type: text/x-php
  • Charset: utf-8
<?php
//======================================================================================
//
// Function: REEFTintegrationLog - Get customers
//
// Programmer: JKJ
// Date      : 2025-05-27
//
// Copyright Reeft A/S (c) - 2025
//======================================================================================

// datatables parameters:
// https://datatables.net/manual/server-side

//======================================================================================
// General config
//======================================================================================
	include "config/config.php";

//======================================================================================
// Set language
//======================================================================================

	include "include/set_language.php";

//======================================================================================
// Get input
//======================================================================================


	if (isset($_REQUEST["customer"])) {
		$customer = $_REQUEST["customer"];
	} else {
		$customer = '';
	}
	
	if (isset($_REQUEST["group_search"])) {
		$group_search = $_REQUEST["group_search"];
	} else {
		$group_search = '';
	}
	
	if (isset($_REQUEST["group_search"])) {
		$group_search = $_REQUEST["group_search"];
	} else {
		$group_search = '';
	}
	
	if (isset($_REQUEST["active_search"])) {
		$active_search = $_REQUEST["active_search"];
	} else {
		$active_search = '';
	}

	//===============================================================
	// Pagination fields "local"/datatables
	//===============================================================

	if (isset($_REQUEST["rpyOffSet"])) {
		$rpyOffSet = $_REQUEST["rpyOffSet"];
	} else {
		$rpyOffSet = 0;
	}

	if (isset($_REQUEST["rpyPageSize"])) {
		$rpyPageSize = $_REQUEST["rpyPageSize"];
	} else {
		$rpyPageSize = 0;
	}

	if (isset($_REQUEST["rpyPageGoTo"])) {
		$rpyPageGoTo = $_REQUEST["rpyPageGoTo"];
	} else {
		$rpyPageGoTo = 0;
	}

	//===============================================================
	// Datatables input, will overrule "orgainal" fields if found
	//===============================================================

	if (isset($_REQUEST["start"])) {
		$dataTablesOffset = $_REQUEST["start"];
	} else {
		$dataTablesOffset = 0;
	}

	if (isset($_REQUEST["length"])) {
		$dataTablesPageLength = $_REQUEST["length"];
	} else {
		$dataTablesPageLength = 0;
	}

	if (isset($_REQUEST["search"]["value"])) {
		$search_arg = $_REQUEST["search"]["value"];
	} else {
		$search_arg = '';
	}

	if (isset($_REQUEST['draw'])) {
		$draw = $_REQUEST['draw'];
	} else {
		$draw = 1;
	}

	if (isset($_REQUEST["order"][0])) {

		$rpyOrderColumn = '';

		foreach ($_REQUEST["order"] as $key => &$tmpArr) {

//			print_r($tmpArr);

			$order_column_index = $tmpArr["column"];
			$order_column_dir 	= $tmpArr["dir"];

			if ($key == 0) $rpyOrderColumn = $_REQUEST["columns"][$order_column_index]["data"] . "|" . strtoupper($order_column_dir);
			else $rpyOrderColumn .= "," . $_REQUEST["columns"][$order_column_index]["data"] . "|" . strtoupper($order_column_dir);

		}
	} else {
		$rpyOrderColumn = '';
	}

	//$dataLine = urlencode($dataLine);

	$search_arg = str_replace(' ', "|", $search_arg);


//======================================================================================
// Get input
//======================================================================================

	if ( $dataTablesPageLength > 0 ) {
		$rpyPageSize = $dataTablesPageLength;
	}

	if ( $dataTablesOffset > 0 ) {
		$rpyOffSet = $dataTablesOffset;
	}

//======================================================================================
// Get session variables
//======================================================================================
	include "include/getsession.php";

//======================================================================================
// Set language
//======================================================================================
	include "include/set_language.php";

//======================================================================================
// Connect to SQLite database in file
//======================================================================================

	$entries_found					= 0;

	$returnCode 					= '99';
	$returnMsg 						= 'No data found';

	$currentDate = date('Y-m-d');
	$currentTime = date('H:i:s');

//======================================================================================
// Set header
//======================================================================================

	header('Content-Type: application/json;charset=utf-8');

//======================================================================================
// Get time stamp
//======================================================================================
	$timeStamp = '';
	if ( $timeStamp == '' ) {
		$now = DateTime::createFromFormat('U.u', number_format(microtime(true), 6, '.', ''));
		$timeStamp = $now->format("Y-m-d H:i:s");
	}


	$data = array(
		"timestamp" 		=> $timeStamp,
		"rpyPageGoTo" 		=> $rpyPageGoTo,
		"rpyOffSet" 		=> $rpyOffSet,
		"rpyPageSize" 		=> $rpyPageSize,
		"rpyOrderColumn" 	=> $rpyOrderColumn,
		"search_arg"	 	=> $search_arg,
		"customer" 			=> $customer,
		"group_search" 		=> $group_search,
		"active_search" 	=> $active_search,
		"draw" 				=> $draw
		);

//======================================================================================
// Make call to API somewhere
//======================================================================================

	$jsonData = json_encode($data);
	//header('Content-Type: application/json');

	$json_pretty = json_encode(json_decode($jsonData), JSON_PRETTY_PRINT);
	// echo $json_pretty;
	// echo "<br>";
	// echo $url;

	$headers = array(
         "Content-type: Content-Type:application/json",
		 "User-Agent: REEFTintegrationLog 1.0",
         "APIKEY: $DFT_API_KEY"
     );

	$parms 	= '?'
			. 'rpyPageGoTo=' 	. $rpyPageGoTo
			. '&rpyOffSet=' 	. $rpyOffSet
			. '&rpyPageSize=' 	. $rpyPageSize
			. '&rpySearchArg=' 	. $search_arg
			. '&rpyOrderColumn='. $rpyOrderColumn
			. '&search_arg='	. $search_arg
			. '&customer=' 		. $customer
			. '&group_search=' 	. $group_search
			. '&active_search=' . $active_search
			. '&draw=' 			. $draw
			;


	// Set URL
	$url = $DFT_WEBSERVICE_URL . '/' . 'customer_maintain_data.php';

	// Add parms
	$url = $url . $parms;

	// echo $url;
	// exit;

	// Create a new cURL resource
	$ch = curl_init($url);

	// Attach encoded JSON string to the POST fields
	curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);

	// Set the content type to application/json
	//curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));

	curl_setopt($ch, CURLOPT_HTTPHEADER, $headers );

	// Return response instead of outputting
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    curl_setopt($ch, CURLOPT_POST, false);
	//curl_setopt( $ch, CURLOPT_CUSTOMREQUEST, 'POST' );
	curl_setopt($ch, CURLOPT_HEADER, false);    // we do not need headers
	curl_setopt($ch, CURLOPT_NOBODY, false);    // we don't need body

	// Execute the GET request
	$result = curl_exec($ch);

	$ary	= curl_getinfo($ch);

	// Close cURL resource
	curl_close($ch);

	// Write jSon back to requester
	echo $result;

?>